package com.wkq.main.ui

import android.content.Context
import android.content.Intent
import android.os.Build
import android.provider.Settings
import android.widget.Toast

/**
 *
 *@Author: wkq
 *
 *@Time: 2025/8/27 11:31
 *
 *@Desc:
 */
object HuaweiSystemManagerUtil {

    /**
     * 打开华为手机管家
     */
    fun openPhoneManager(context: Context) {
        val packageName = "com.huawei.systemmanager"
        // 已知不同 EMUI 版本的手机管家页面
        val activityList = listOf(
            "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity",
            "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity",
            "com.huawei.systemmanager.optimize.process.ProtectActivity",
            "com.huawei.systemmanager.MainActivity"
        )

        for (activity in activityList) {
            val intent = Intent()
            intent.setClassName(packageName, activity)
            intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
            try {
                context.startActivity(intent)
                return
            } catch (e: Exception) {
                // 尝试下一个
            }
        }

        // fallback: 打开应用首页
        try {
            val intent = context.packageManager.getLaunchIntentForPackage(packageName)
            intent?.flags = Intent.FLAG_ACTIVITY_NEW_TASK
            context.startActivity(intent)
        } catch (e: Exception) {
            e.printStackTrace()
            Toast.makeText(context, "无法打开手机管家", Toast.LENGTH_SHORT).show()
        }
    }

    /**
     * 打开华为电池优化页面
     */
    fun openBatteryOptimization(context: Context) {
        try {
            // 系统统一电池优化设置页面
            val intent = Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS)
            intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
            context.startActivity(intent)
        } catch (e: Exception) {
            e.printStackTrace()

            // 如果是华为设备，提示用户手动操作
            if (Build.MANUFACTURER.equals("HUAWEI", ignoreCase = true)) {
                Toast.makeText(
                    context,
                    "请打开“手机管家 → 电池 → 应用启动管理”手动调整本应用设置",
                    Toast.LENGTH_LONG
                ).show()
            } else {
                // 其他品牌设备
                Toast.makeText(context, "无法打开电池优化页面", Toast.LENGTH_SHORT).show()
            }
        }
    }
}
